From: Oleksandr Tyshchenko Date: Tue, 6 Dec 2016 17:53:20 +0000 (+0200) Subject: arm/irq: Reorder check in route_irq_to_guest() to avoid 4 layers of "if" X-Git-Tag: archive/raspbian/4.11.1-1+rpi1~1^2~66^2~3202 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=f805e59c69263cdb0667e1f12fe3f5d8a26a2d3e;p=xen.git arm/irq: Reorder check in route_irq_to_guest() to avoid 4 layers of "if" Remove one layer of "if" by reordering the check in route_irq_to_guest() to make code more clearer. Signed-off-by: Oleksandr Tyshchenko Signed-off-by: Stefano Stabellini Reviewed-by: Julien Grall --- diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c index 508028b02e..dd62ba6733 100644 --- a/xen/arch/arm/irq.c +++ b/xen/arch/arm/irq.c @@ -481,22 +481,19 @@ int route_irq_to_guest(struct domain *d, unsigned int virq, { struct domain *ad = irq_get_domain(desc); - if ( d == ad ) - { - if ( irq_get_guest_info(desc)->virq != virq ) - { - printk(XENLOG_G_ERR - "d%u: IRQ %u is already assigned to vIRQ %u\n", - d->domain_id, irq, irq_get_guest_info(desc)->virq); - retval = -EBUSY; - } - } - else + if ( d != ad ) { printk(XENLOG_G_ERR "IRQ %u is already used by domain %u\n", irq, ad->domain_id); retval = -EBUSY; } + else if ( irq_get_guest_info(desc)->virq != virq ) + { + printk(XENLOG_G_ERR + "d%u: IRQ %u is already assigned to vIRQ %u\n", + d->domain_id, irq, irq_get_guest_info(desc)->virq); + retval = -EBUSY; + } } else {